person_info = {
    "name": "Alex",
    "age": 30,
    "country": "USA",
    "language": ["English", "Spanish"],
    "is_student": False
}
#基础练习
#1、打印`person_info` 字典的`name` 值
print(person_info["name"])

#2、修改`age` 的值为 31
person_info["age"]=31
print(person_info)

#3、向字典中添加一个新的键值对 `height": 175`
person_info["height"]=175
print(person_info)

#4、删除字典中的 `is_student"` 键及其值
del person_info["is_student"]
print(person_info)

#5、使用循环遍历字典，打印所有的键和值
for i in person_info.items():
    print(i)

#6、检查字典中是否有 `email"` 这个键，如果没有，添加 `email": "alex@example.com"`。
is_keys=False
for i in person_info.keys():
    if i=="email":
        is_keys=True
if is_keys==False:
    person_info["email"]="alex@example.com"
print(person_info)

#7、将`language` 的值改为只包含 `English"`
person_info["language"].remove("Spanish")
print(person_info)

#8、获取并打印字典中`language` 列表的长度
print(len(person_info["language"]))

#9、向`language` 列表中添加一种新语言 `French"
person_info["language"].append("French")
print(person_info)

#10、循环插入新的键值对到字典：将 ` hobby'` + 数字 作为键，相应的 ` hobby'` + 数字值 作为值，数字从1至3。
for num in range(1,4):
    person_info["hobby{}".format(num)]="hobby{}".format(num)
print(person_info)

#进阶练习
employees = {
    101: {
        "name": "Alice",
        "age": 30,
        "gender": "Female",
        "position": "Data Scientist",
        "team": "Research",
        "salary_history": [70000, 80000, 90000]
    }
    # 更多员工数据...
}
#1、新增一个员工的信息到`employees`字典中。
employees[102]={"name": "Jack",
        "age": 29,
        "gender": "Male",
        "position": "Math Scientist",
        "team": "Research",
        "salary_history": [60000, 70000, 80000]}
print(employees)

#2、删除一个指定的员工的信息。
del employees[102]["team"]
print(employees)

#3、更新员工101的年龄至31。
employees[101]["age"]=31
print(employees)

#4、增加员工101薪资历史中的最新薪资至95000。
employees[101]["salary_history"].append(95000)
print(employees)

#5、计算员工101的平均薪资。
salary_list=employees[101]["salary_history"]
num=len(salary_list)
toatal_num=0
for i in salary_list:
    toatal_num+=i
avg=toatal_num/num
print("员工101平均薪资为：{:.2f}".format(avg))

#6、找出所有年龄大于25岁的员工的姓名和ID
for id, num in employees.items():
    if num["age"] > 25:
      print("年龄大于25岁员工的姓名：{}，ID：{}".format(num["name"],id))

#7、对`employees`中的每个员工，添加'bonus'键至其字典中，其中值是最新薪资的10%。
for id,num in employees.items():
    num["bonus"]=int(num["salary_history"][-1]*0.1)
    print(num)

#8、将员工101的职位更新为将员工101的职位更新为"Senior Data Scientist"。。
employees[101]["position"]="Senior Data Scientist"
print(employees)

#9、从员工的信息中移除`gender`键。
for id, num in employees.items():
    del num["gender"]
print(employees)

#10、创建一个新的嵌套字典，该字典仅包含员工的`name`和`position`
employees_position={
    1:{
        "name":"张三",
        "position":"教授"
    },
    2:{
        "name":"李四",
        "position":"普通教师"
    }
}
print(employees_position)